package com.huitu.whht.base.core.api.gb.jjshzb1;

import com.huitu.api.rest.AbstractApiResource;
import com.huitu.commons.PageUtils;
import com.huitu.whht.api.core.common.response.ApiResultBuilder;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiResource;
import com.huitu.whht.api.core.common.annotations.SzyCoreApiService;
import com.huitu.whht.api.core.common.response.StatusRespBuilder;

import com.huitu.whht.base.core.api.gb.jjshzb1.entities.GbJjshzb1;

import com.huitu.whht.base.core.api.gb.jjshzb1.entities.GbJjshzb1Qo;
import com.huitu.whht.base.core.api.gb.jjshzb1.service.IGbJjshzb1Service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

/**
 * 说明: 年湖北省经济社会指标1信息表API,表名称: T_WHHT_GB_JJSHZB1 <br/>
 * 日期: 2019-04-15
 * @author LiuCW
 */
@Component
@SzyCoreApiResource
@Path("gb/jjshzb1")
public class GbJjshzb1Resource extends AbstractApiResource {

    private static final Logger LOGGER = LoggerFactory.getLogger(GbJjshzb1Resource.class);

    private static final String UUID = "3ec8c94a-05d8-4681-9718-44c5ffcbf62b";

    @Override
    public String getUUID() {
        return UUID;
    }

    @Autowired
    @SzyCoreApiService
    IGbJjshzb1Service gbJjshzb1Service;

    /**
     * @api {get} gb/jjshzb1/{gbUuid} [R][G]根据主键查询
     * @apiDescription [G]根据主键查询T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)select by primary key
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiSampleRequest gb/jjshzb1/6c2aa17938e049cf973e8f110f007879
     * @apiParam   {String}         gbUuid             【必须】主键
     * @apiSuccess {String}         gbUuid             主键
     * @apiSuccess {String}         adCd               地级行政区划
     * @apiSuccess {Integer}        czrkNum            城镇人口 单位：万人
     * @apiSuccess {Integer}        ncrkNum            农村人口 单位：万人
     * @apiSuccess {Integer}        rkHj               人口合计
     * @apiSuccess {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiSuccess {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiSuccess {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiSuccess {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiSuccess {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiSuccess {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiSuccess {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiSuccess {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiSuccess {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiSuccess {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiSuccess {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiSuccess {Double}         gyzczHj            工业总产值合计
     * @apiSuccess {String}         nt                 备注
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     *  }
     * }
     * @apiUse exceptions
     */
    @GET
    @Path("{gbUuid}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectByPrimaryKey(@PathParam("gbUuid") String gbUuid) {
        LOGGER.info("根据主键查询 年湖北省经济社会指标1信息表,参数 gbUuid:{}", gbUuid);
        return Response.ok(ApiResultBuilder.create(this, gbJjshzb1Service.selectByPrimaryKey(gbUuid))).build();
    }

    /**
     * @api {post} gb/jjshzb1/list [R][G]根据条件查询
     * @apiDescription [G]根据条件查询T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)select by filter
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiSampleRequest gb/jjshzb1/list
     * @apiParam   {String}         gbUuid             主键
     * @apiParam   {List(String)}   adCdList           (数组)地级行政区划
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNumMin         (最小)城镇人口 单位：万人
     * @apiParam   {Integer}        czrkNumMax         (最大)城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNumMin         (最小)农村人口 单位：万人
     * @apiParam   {Integer}        ncrkNumMax         (最大)农村人口 单位：万人
     * @apiParam   {Integer}        rkHjMin            (最小)人口合计
     * @apiParam   {Integer}        rkHjMax            (最大)人口合计
     * @apiParam   {Double}         gnyczzXjMin        (最小)国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzXjMax        (最大)国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbjMin      (最小)国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbjMax      (最大)国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXjMin        (最小)国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzXjMax        (最大)国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbjMin      (最小)国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzNkbjMax      (最大)国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjMin        (最小)国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzXjMax        (最大)国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbjMin      (最小)国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbjMax      (最大)国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHjMin      (最小)国内生产总值现价合计
     * @apiParam   {Double}         gnsczzXjHjMax      (最大)国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHjMin    (最小)国内生产总值年可比价合计
     * @apiParam   {Double}         gnsczzNkbjHjMax    (最大)国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhdMin        (最小)工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczHhdMax        (最大)工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUpMin       (最小)工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyUpMax       (最大)工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDownMin     (最小)工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczGyDownMax     (最大)工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHjMin         (最小)工业总产值合计
     * @apiParam   {Double}         gyzczHjMax         (最大)工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {String}         gbUuid             主键
     * @apiSuccess {String}         adCd               地级行政区划
     * @apiSuccess {Integer}        czrkNum            城镇人口 单位：万人
     * @apiSuccess {Integer}        ncrkNum            农村人口 单位：万人
     * @apiSuccess {Integer}        rkHj               人口合计
     * @apiSuccess {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiSuccess {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiSuccess {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiSuccess {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiSuccess {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiSuccess {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiSuccess {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiSuccess {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiSuccess {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiSuccess {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiSuccess {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiSuccess {Double}         gyzczHj            工业总产值合计
     * @apiSuccess {String}         nt                 备注
     * @apiSuccessExample 请求成功:
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     *  }]
     * }
     *
     * @apiSuccessExample 分页请求:
     * request header: Rang={max=50;size=50;field=TS DESC}
     * HTTP/1.1 200 OK
     * {
     * "result": [{
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     *  }],
     * "paging": {
     * "count": 3,
     * "total": 120,
     * "finale": false,
     * "index": 1
     * }
     * }
     * @apiUse header_rang
     * @apiUse exceptions
     */
    @POST
    @Path("list")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response selectList(GbJjshzb1Qo filter) {
        PageUtils.startPageFromRang();
        LOGGER.info("根据条件查询 年湖北省经济社会指标1信息表,参数 GbJjshzb1Qo:{}", filter);
        return Response.ok(ApiResultBuilder.create(this, gbJjshzb1Service.selectList(filter))).build();
    }

    /**
     * @api {put} gb/jjshzb1 [C][G]新增数据
     * @apiPrivate
     * @apiDescription [G]新增T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)add data
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiParam   {String}         gbUuid             【必须】主键
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNum            城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNum            农村人口 单位：万人
     * @apiParam   {Integer}        rkHj               人口合计
     * @apiParam   {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHj            工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest gb/jjshzb1
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "gbUuid": "6c2aa17938e049cf973e8f110f007879"
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "gbUuid": "6c2aa17938e049cf973e8f110f007879"
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insert(GbJjshzb1 record) {
        LOGGER.info("新增 年湖北省经济社会指标1信息表,参数 GbJjshzb1:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(gbJjshzb1Service.insertSelective(record),record))).build();
    }

    /**
     * @api {post} gb/jjshzb1/insertBatch [C][G]批量新增数据
     * @apiPrivate
     * @apiDescription [G]批量新增T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)addBatch data
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiParam   {String}         gbUuid             【必须】主键
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNum            城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNum            农村人口 单位：万人
     * @apiParam   {Integer}        rkHj               人口合计
     * @apiParam   {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHj            工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             1:新增成功;0:新增失败.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据,通常包含新增数据的主键值
     * @apiSampleRequest gb/jjshzb1/insertBatch
     * @apiSuccessExample 新增成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":{
     *   "gbUuid": "6c2aa17938e049cf973e8f110f007879"
     *      }
     *   }
     * }
     @apiSuccessExample 新增失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":{
     *   "gbUuid": "6c2aa17938e049cf973e8f110f007879"
     *      }
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("insertBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response insertBatch(List<GbJjshzb1> recordList) {
        LOGGER.info("批量新增 年湖北省经济社会指标1信息表,参数 GbJjshzb1:[]", recordList);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.insert(gbJjshzb1Service.insertBatch(recordList),recordList))).build();
    }

    /**
     * @api {put} gb/jjshzb1/{gbUuid}/update [U][G]根据主键修改
     * @apiPrivate
     * @apiDescription [G]根据主键修改T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)update data
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiParam   {String}         gbUuid             【必须】主键
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNum            城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNum            农村人口 单位：万人
     * @apiParam   {Integer}        rkHj               人口合计
     * @apiParam   {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHj            工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest gb/jjshzb1/6c2aa17938e049cf973e8f110f007879/update
     * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{gbUuid}/update")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response update(@PathParam("gbUuid") String gbUuid, GbJjshzb1 record) {
        record.setGbUuid(gbUuid);
        LOGGER.info("根据主键修改 年湖北省经济社会指标1信息表,参数 GbJjshzb1:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(gbJjshzb1Service.updateByPrimaryKey(record)))).build();
    }

    /**
     * @api {put} gb/jjshzb1/{gbUuid}/update-selective [U][G]根据主键修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据主键修改T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据,只修改非null字段
     * @apiName (generate)update selected data
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiParam   {String}         gbUuid             主键
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNum            城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNum            农村人口 单位：万人
     * @apiParam   {Integer}        rkHj               人口合计
     * @apiParam   {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHj            工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest gb/jjshzb1/6c2aa17938e049cf973e8f110f007879/update-selective
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * {
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     * }
     * @apiUse exceptions
     */
    @PUT
    @Path("{gbUuid}/update-selective")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateSelective(@PathParam("gbUuid") String gbUuid, GbJjshzb1 record) {
        record.setGbUuid(gbUuid);
        LOGGER.info("根据主键修改(只修改非null字段) 年湖北省经济社会指标1信息表,参数 GbJjshzb1:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(gbJjshzb1Service.updateByPrimaryKeySelective(record)))).build();
    }

    /**
     * @api {post} gb/jjshzb1/updateBatch [U][G]根据主键批量修改(只修改非null字段)
     * @apiPrivate
     * @apiDescription [G]根据批量主键修改T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据,只修改非null字段
     * @apiName (generate)updateBatch selected data
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiParam   {String}         gbUuid             主键
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNum            城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNum            农村人口 单位：万人
     * @apiParam   {Integer}        rkHj               人口合计
     * @apiParam   {Double}         gnyczzXj           国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbj         国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXj           国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbj         国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXj           国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbj         国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHj         国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHj       国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhd           工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUp          工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDown        工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHj            工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             1:修改成功;0:要修改的数据不存在(可能已被删除)
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSampleRequest  gb/jjshzb1/updateBatch
     * * @apiSuccessExample 修改成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 修改失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiParamExample {json} 请求示例:
     * [{
     * "gbUuid": "6c2aa17938e049cf973e8f110f007879",
     * "adCd": "420800",
     * "czrkNum": 2,
     * "ncrkNum": 2,
     * "rkHj": 4,
     * "gnyczzXj": 2,
     * "gnyczzNkbj": 2,
     * "gneczzXj": 2,
     * "gneczzNkbj": 2,
     * "gnsczzXj": 2,
     * "gnsczzNkbj": 2,
     * "gnsczzXjHj": 6,
     * "gnsczzNkbjHj": 6,
     * "gyzczHhd": 2,
     * "gyzczGyUp": 11,
     * "gyzczGyDown": 1,
     * "gyzczHj": 14,
     * "nt": null
     * }]
     * @apiUse exceptions
     */
    @POST
    @Path("updateBatch")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response updateBatch(List<GbJjshzb1> record) {
        LOGGER.info("根据主键批量修改(只修改非null字段) 年湖北省经济社会指标1信息表,参数 GbJjshzb1:{}", record);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.update(gbJjshzb1Service.updateBatch(record)))).build();
    }

    /**
     * @api {delete} gb/jjshzb1/{gbUuid} [D][G]根据主键删除
     * @apiPrivate
     * @apiDescription [G]根据主键删除T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)delete by primary key
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiSampleRequest gb/jjshzb1/6c2aa17938e049cf973e8f110f007879
     * @apiParam   {String}         gbUuid             【必须】主键
     * @apiSuccess {Integer}        status             1:删除成功;0:要删除的数据不存在(可能已被删除).
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("{gbUuid}")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response delete(@PathParam("gbUuid") String gbUuid) {
        LOGGER.info("根据主键删除 年湖北省经济社会指标1信息表,参数 gbUuid:{}", gbUuid);
        Integer rows = gbJjshzb1Service.deleteByPrimaryKey(gbUuid);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }

    /**
     * @api {delete} gb/jjshzb1/by-filter [D][G]根据条件删除
     * @apiPrivate
     * @apiDescription [G]根据条件删除T_WHHT_GB_JJSHZB1(年湖北省经济社会指标1信息表)数据
     * @apiName (generate)delete by filter
     * @apiGroup GB_JJSHZB1-年湖北省经济社会指标1信息表
     * @apiVersion 1.0.0
     * @apiSampleRequest gb/jjshzb1/by-filter
     * @apiParam   {String}         gbUuid             主键
     * @apiParam   {List(String)}   adCdList           (数组)地级行政区划
     * @apiParam   {String}         adCd               地级行政区划
     * @apiParam   {Integer}        czrkNumMin         (最小)城镇人口 单位：万人
     * @apiParam   {Integer}        czrkNumMax         (最大)城镇人口 单位：万人
     * @apiParam   {Integer}        ncrkNumMin         (最小)农村人口 单位：万人
     * @apiParam   {Integer}        ncrkNumMax         (最大)农村人口 单位：万人
     * @apiParam   {Integer}        rkHjMin            (最小)人口合计
     * @apiParam   {Integer}        rkHjMax            (最大)人口合计
     * @apiParam   {Double}         gnyczzXjMin        (最小)国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzXjMax        (最大)国内生产总值一产现价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbjMin      (最小)国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gnyczzNkbjMax      (最大)国内生产总值一产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzXjMin        (最小)国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzXjMax        (最大)国内生产总值二产现价   单位：亿元
     * @apiParam   {Double}         gneczzNkbjMin      (最小)国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gneczzNkbjMax      (最大)国内生产总值二产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjMin        (最小)国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzXjMax        (最大)国内生产总值三产现价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbjMin      (最小)国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzNkbjMax      (最大)国内生产总值三产年可比价   单位：亿元
     * @apiParam   {Double}         gnsczzXjHjMin      (最小)国内生产总值现价合计
     * @apiParam   {Double}         gnsczzXjHjMax      (最大)国内生产总值现价合计
     * @apiParam   {Double}         gnsczzNkbjHjMin    (最小)国内生产总值年可比价合计
     * @apiParam   {Double}         gnsczzNkbjHjMax    (最大)国内生产总值年可比价合计
     * @apiParam   {Double}         gyzczHhdMin        (最小)工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczHhdMax        (最大)工业总产值（火（核）电）   单位：亿元
     * @apiParam   {Double}         gyzczGyUpMin       (最小)工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyUpMax       (最大)工业总产值（国有及规模以上）   单位：亿元
     * @apiParam   {Double}         gyzczGyDownMin     (最小)工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczGyDownMax     (最大)工业总产值（国有及规模以下）   单位：亿元
     * @apiParam   {Double}         gyzczHjMin         (最小)工业总产值合计
     * @apiParam   {Double}         gyzczHjMax         (最大)工业总产值合计
     * @apiParam   {String}         nt                 备注
     * @apiSuccess {Integer}        status             通常1或者>1:删除成功;0:没有符合条件的数据.
     * @apiSuccess {String}         message            成功/失败消息内容
     * @apiSuccess {Object}         data               额外返回的数据
     * @apiSuccessExample 删除成功:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":1,
     * "message":"成功",
     * "data":null
     *   }
     * }
     * @apiSuccessExample 删除失败:
     * HTTP/1.1 200 OK
     * {
     * "result": {
     * "status":0,
     * "message":"失败",
     * "data":null
     *   }
     * }
     * @apiUse exceptions
     */
    @DELETE
    @Path("by-filter")
    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
    public Response deleteByFilter(GbJjshzb1Qo filter) {
        LOGGER.info("根据条件删除 年湖北省经济社会指标1信息表,参数 GbJjshzb1Qo:{}", filter);
        Integer rows = gbJjshzb1Service.deleteByFilter(filter);
        return Response.ok(ApiResultBuilder.create(this, StatusRespBuilder.delete(rows))).build();
    }
}
